1. Field
Example embodiments of the following description relate to a computing system, a digital TV (DTV), an MPEG Audio Layer-3 (MP3) player, a printer, and a Solid State Disk (SSD), which enable a priority-based task scheduling. More particularly, example embodiments of the following description relate to a method that may prevent occurrence of a starvation phenomenon while maintaining priorities of tasks through task scheduling.
2. Description of the Related Art
In a computing system using a Central Processing Unit (CPU), a Direct Memory Access (DMA), and a network, and in a variety of electronic products, several processes or threads (hereinafter, referred to as “tasks”) may be executed. In this instance, there is a demand to schedule tasks to determine an order of processing the tasks using limited resources.
Typically, priorities may be respectively set to tasks, and the tasks may be scheduled, so that a higher priority task may be processed first among the tasks having different priorities. This operation is called “priority-based scheduling”.
For example, when a task associated with multimedia applications to be processed in real-time is set to have a relatively higher priority, the task may be scheduled to be processed earlier than other tasks.
However, priority-based scheduling has a problem of a starvation phenomenon where a lower priority task will never be executed because a higher priority task continues to occupy resources.